home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / usr / include / scribus-ng / canvasmode_rotate.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-11-02  |  2.2 KB  |  73 lines

  1. /*
  2.  For general Scribus (>=1.3.2) copyright and licensing information please refer
  3.  to the COPYING file provided with the program. Following this notice may exist
  4.  a copyright and/or license notice that predates the release of Scribus 1.3.2
  5.  for which a new license (GPL+exception) is in place.
  6.  */
  7. /***************************************************************************
  8. *                                                                         *
  9. *   This program is free software; you can redistribute it and/or modify  *
  10. *   it under the terms of the GNU General Public License as published by  *
  11. *   the Free Software Foundation; either version 2 of the License, or     *
  12. *   (at your option) any later version.                                   *
  13. *                                                                         *
  14. ***************************************************************************/
  15.  
  16. #ifndef CANVAS_MODE_ROTATE_H
  17. #define CANVAS_MODE_ROTATE_H
  18.  
  19. #include "scribusapi.h"
  20. #include "canvasmode.h"
  21. #include "fpoint.h"
  22.  
  23. class QDragEnterEvent;
  24. class QDragMoveEvent;
  25. class QDragLeaveEvent;
  26. class QDropEvent;
  27. class QEvent;
  28. class QInputMethodEvent;
  29. class QMouseEvent;
  30. class QKeyEvent;
  31. class QPainter;
  32.  
  33. class PageItem;
  34.  
  35. class SCRIBUS_API CanvasMode_Rotate : public CanvasMode
  36. {
  37. public:
  38.     CanvasMode_Rotate(ScribusView* view);
  39.  
  40.     virtual void enterEvent(QEvent *);
  41.     virtual void leaveEvent(QEvent *);
  42.  
  43.     virtual void drawControls(QPainter* p);
  44.     virtual void activate(bool);
  45.     virtual void deactivate(bool);
  46.  
  47.     virtual void mousePressEvent(QMouseEvent *m);
  48.     virtual void mouseReleaseEvent(QMouseEvent *m);
  49.     virtual void mouseMoveEvent(QMouseEvent *m);
  50.  
  51. private:
  52.     inline bool GetItem(PageItem** pi);
  53.     
  54.     void   createContextMenu(PageItem *currItem, double mx, double my);
  55.     void   drawItemOutlines(QPainter*);
  56.     void   getNewItemPosition(PageItem* item, FPoint& pos, double& rotation);
  57. //     void   setResizeCursor(int how);
  58.  
  59.     bool   m_inItemRotation;
  60.  
  61.     int    m_oldRotMode;
  62.     FPoint m_oldRotCenter;
  63.     FPoint m_canvasPressCoord;
  64.     FPoint m_canvasCurrCoord;
  65.     bool   m_angleConstrained;
  66.  
  67.     int    m_rotMode;
  68.     FPoint m_rotCenter;
  69.     double m_startAngle;
  70. };
  71.  
  72. #endif
  73.